package com.cy.pj.goods.dao;

import com.cy.pj.goods.pojo.Goods;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;
/**商品模块持久层对象,基于此对象的实现类操作商品库中的数据
 * @Mapper MyBatis框架中定义,用于描述持久层接口,告诉mybatis
 * 这个接口的实现类由mybatis创建,并且交给spring框架管理.
 * */
/*商品模块数据逻辑接口定义在此接口中,定义商品数据的操作逻辑
   @Mapper 注解由mybatis提供,用于描述数据逻辑层接口,由mybatis底层为接口创建其实现类
    并将其实现类的对象交给Spring框架管理,在这个实现类的内部会基于sqlsession对象实现与数据库的会话*/
@Mapper
public interface GoodsDao {
    @Update("update tb_goods set name=#{name},remark=#{remark} where id=#{id}")
    int updateGoods(Goods goods);
    @Select("select * from tb_goods where id=#{id}")
    Goods findById(Integer id);
    @Insert("insert into tb_goods(name,remark,createdTime) values(#{name},#{remark},now())")
    int insertGoods(Goods goods);
    int deleteById(Integer id);
    List<Goods> findGoods(String name);


}
